<?php

/**
 * Description of CargoHabitacionServicios
 *
 * @author  Mariano Renkine
 * @author  Fernando Arau
 */
class PMSServicios
{

  function buscarHabitacionDTO($numero)
  {
    $habDTO = new HabitacionDTO();
    $habDTO->setNumero($numero);
    $repoPMS = new RepoPMS();
    $habDTO = $this->aDTO($repoPMS->buscarPorNumero($numero));
    return $habDTO;
  }

  function listarHabitacionesIn($buscar="")
  {
    $repoPMS = new RepoPMS();
    $habitaciones = $repoPMS->listarHabitacionesIn($buscar);
    $habitacionesDTO = array();
    foreach ($habitaciones as $habitacion)
    {
      $habitacionesDTO[] = $this->aDTO($habitacion);
    }
    return $habitacionesDTO;
  }

  function listarIdName($buscar="")
  {
    $habitaciones = $this->listarHabitacionesIn($buscar);
    $resultado = array();
    if ($habitaciones != null && count($habitaciones) > 0)
    {
      for ($i = 0; $i < count($habitaciones); $i++)
      {
        $name = $habitaciones[$i]->getHabitacion() . " - " . $habitaciones[$i]->getNombreHuesped();
        if ($habitaciones[$i]->getAcompanantes() != '')
        {
          $name.= " ( " . $habitaciones[$i]->getAcompanantes() . " ) ";
        }
        $resultado[$i]["id"] = $habitaciones[$i]->getHabitacion();        
//        $resultado[$i]["name"] = utf8_encode($name);
        $resultado[$i]["name"] = $name;
      }
    } else
    {
      $resultado = "";
    }
    return $resultado;
  }
  function cargarHabitacion(CargoHabitacion $cargoHabitacion, $idComprobante){
     $repoPMS = new RepoPMS();
     return $repoPMS->cargarHabitacion($cargoHabitacion, $idComprobante);
      
  }
  function aDTO(PMS $pms)
  {
    $pmsDTO = new PMSDTO();
    $pmsDTO->setFechaHoraDesde($pms->getFechaHoraDesde());
    $pmsDTO->setFechaHoraHasta($pms->getFechaHoraHasta());
    $pmsDTO->setHabitacion($pms->getHabitacion());
    $pmsDTO->setNombreHuesped($pms->getNombreHuesped());
    $pmsDTO->setNumeroReservaPMS($pms->getNumeroReservaPMS());
    $pmsDTO->setAcompanantes($pms->getAcompanantes());
    return $pmsDTO;
  }

  function deDTO(PMSDTO $pmsDTO)
  {
    $pms = new PMS();
    $pms->setFechaHoraDesde($pmsDTO->getFechaHoraDesde());
    $pms->setFechaHoraHasta($pmsDTO->getFechaHoraHasta());
    $pms->setHabitacion($pmsDTO->getHabitacion());
    $pms->setNombreHuesped($pmsDTO->getNombreHuesped());
    $pms->setAcompanantes($pmsDTO->getAcompanantes());
    return $pms;
  }

}

?>
